/*
 * ParticleInterface.java
 *
 * Created on May 26, 2007, 9:47 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package pso;

/**
 *
 * @author greg
 */
public interface ParticleInterface {
    
    //Returns current fitness
    public double getFitness();
    
    //Returns particle's best fitness
    public double getBestFit();
    
    //Returns particle's best position
    public double[] getBest();
    
    //Updates _position then _prevBest and _prevBestFitness then _velocity
    //Argument nBestPos is the location of the neighborhood best position.
    public void update(double[] nBestPos);
    
    public void updateFitness();
    
    public void updateVelocity();
    
    public void move();
    
    //Returns current position
    public double getPosition();
    
    //Returns current velocity
    public double getVelocity();
    
}
